Version Considerations ====================== The Seeq SPy module relies upon the Seeq SDK module in order to function. Your notebook, add-on or script code may require a particular version of SPy in order to function properly. Read the following sections to follow best practices for managing version requirements. Packaging --------- Seeq R59 and Earlier ~~~~~~~~~~~~~~~~~~~~ For Seeq R59 and earlier, both the Seeq SDK and Seeq SPy Module were distributed in a single PyPI package called `seeq `__. It had a versioning scheme that was an amalgamation of both the Seeq SDK version (which is tied directly to the Seeq Server version it supports) and the SPy version (which is independent of the Seeq Server version). It took the following form: **a.b.c.F.G** For example, ``seeq`` package version `59.1.2.185.2 `__ supports Seeq Server version R59 and includes SPy version 185.2. Seeq R60 and Later ~~~~~~~~~~~~~~~~~~ For Seeq R60 and later, the Seeq SDK is distributed in the PyPI package `seeq `__ and the Seeq SPy Module is distributed in a separate PyPI package called `seeq-spy `__. The **seeq** package versioning scheme is tied directly to the Seeq Server version it supports and the **seeq-spy** package version is independent of the Seeq Server version. The two packages can be upgraded independently. However, when using Data Lab, then the user should *only* upgrade the SPy package and allow the SDK package to be managed directly by Data Lab. Upgrading --------- Due to the change in packaging between R59 and R60, it is strongly recommended that you use the built in ``spy.upgrade()`` function to upgrade SPy. It has all the required logic to execute the correct commands depending on the Seeq Server you are connected to. You just execute the command below and then restart your Python kernel: :: spy.upgrade() Displaying Version Information ------------------------------ If you’d like to check what version you’re running with, just print out the current session information, like so: .. code:: ipython3 from seeq import spy spy.session .. parsed-literal:: Not logged in. Seeq SDK Module Version: 63.0.0 @ C:\GitHub\crab\sdk\pypi\seeq\sdk Seeq SPy Module Version: 189.1 @ C:\GitHub\crab\sdk\pypi\seeq\spy Checking for a Sufficient Version --------------------------------- If you are writing a reusable notebook or script, or you are writing an add-on, you may wish to include a *version check* in your code. Version checks are notoriously difficult to code correctly, so the ``spy.utils`` module includes some convenience functions to do the hard work for you. Here are some examples: .. code:: ipython3 from seeq import spy # Set the compatibility option so that you maximize the chance that SPy will remain compatible with your notebook/script spy.options.compatibility = 192 # Login so we can check the Seeq Server version spy.login(url='http://localhost:34216', credentials_file='../credentials.key', force=False) # Check the SPy version print(f'SPy is at least 184.3? {spy.utils.is_spy_module_version_at_least(184, 3)}') print(f'Seeq Server is at least R73.3.1? {spy.utils.is_server_version_at_least(73, 3, 1)}') .. raw:: html
Logged in to http://localhost:34216 successfully as agent_api_key (Mark Derbecker).
Seeq Server Version: R61.0.0-SNAPSHOT
Seeq SDK Module Version: 61.0.0 @ C:\GitHub\crab\sdk\pypi\seeq\sdk
Seeq SPy Module Version: 185.3 @ C:\GitHub\crab\sdk\pypi\seeq\spy
.. parsed-literal:: SPy is at least 184.3? True Seeq Server is at least R73.3.1? False Function Reference ------------------ .. code:: ipython3 help(spy.utils.get_spy_module_version_tuple) help(spy.utils.is_spy_module_version_at_least) .. code:: ipython3 help(spy.utils.get_sdk_module_version_tuple) help(spy.utils.is_sdk_module_version_at_least) .. code:: ipython3 help(spy.utils.get_server_version_tuple) help(spy.utils.is_server_version_at_least)